package com.tedu.controller;

import com.tedu.pojo.User;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;
import java.io.UnsupportedEncodingException;

/**
 * 练习：获取用户发送的数据
 */
@Controller
public class UserController {
    /**
     * 使用request获取用户发送的数据
     * @param request
     * @return
     */
    @RequestMapping("/pamser01")
    @ResponseBody //直接返回文本数据，不需要进行视图解析，就不用加前缀和后缀这些
    public String paser01( HttpServletRequest request){

        return request.getParameter("name");
    }

    /**
     * 通过直接入参  获取用户发送的数据
     * @param name
     * @param pwd
     * @return
     */
    @RequestMapping("/pamser02")
    @ResponseBody //直接返回文本数据，不需要进行视图解析，就不用加前缀和后缀这些
    public String paser02(String name,String pwd){
        String pam = "用户名："+ name + ";密码：" + pwd;
        System.out.println(pam);
        return pam;
    }

    /**
     * @RequestMapping("/pamser02")
     *     @ResponseBody //直接返回文本数据，不需要进行视图解析，就不用加前缀和后缀这些
     *     public String paser02(@RequestParam(value = "name",required = true) String xingming, String pwd) {
     *         //请求参数中的名称和属性名不同的处理@RequestParam
     *         String pam = "用户名："+ xingming + ";密码：" + pwd;
     *         System.out.println(pam);
     *         return pam;
     *     }
     * @param username
     * @param password
     * @param age
     * @return
     */


    /**
     * 自动封装参数信息到bean
     * @param user  用户传入的参数
     * @return
     */
    @RequestMapping(value = "/login",produces = "text/html;charset=UTF-8")
    @ResponseBody //直接返回文本数据，不需要进行视图解析，就不用加前缀和后缀这些
    public String login(User user) throws UnsupportedEncodingException {

        String name = new String(user.getUsername().getBytes("iso8859-1"),"utf-8");
        user.setUsername(name);
        System.out.println(user);

        return user.toString();




    }
}
